package cn.dduan.fool.control.flow;

/**
 * Switch
 * <p>
 * 注意：
 * 1. Java5 以前 switch(expr)中，expr 只能是 byte、short、char、int
 * 2. 从 Java 5 开始，Java 中引入了枚举类型， expr 也可以是 enum 类型。
 * 3. 从 Java 7 开始，expr还可以是字符串(String)，但是长整型(long)在目前所有的版本中都是不可以的
 * 4.  Java 14 及以后版本有了新的语法特性，增强的 switch 表达式，具有更简洁的语法和更好的表现力
 *     4.1. 使用 -> 代替 : 和 break，更加简洁
 *     4.2. 如果 case 后面的代码块只有一条语句，可以省略大括号
 *
 * @author dduan
 * @version 1.0
 * @date 2023/4/12
 */
public class MySwitch {
    public static void main(String[] args) {
        int a = 1;

        // Java5 以前 switch(expr)中，expr 只能是 byte、short、char、int

        // 从 Java 5 开始，Java 中引入了枚举类型， expr 也可以是 enum 类型

        // 从 Java 7 开始，expr还可以是字符串(String)，但是长整型(long)在目前所有的版本中都是不可以的

        // Java 14 及以后版本有了新的语法特性，增强的 switch 表达式，具有更简洁的语法和更好的表现力
        switch (a) {
            case 1 -> System.out.println(a);
            case 2 -> {
                a = 20;
                System.out.println(a);
            }
        }
    }
}
